#include <iostream>
#include <memory>
using namespace std;
int main() {
    int i = 100;
    int j = 22;
    int *const p1 = &i; // 顶层 const，p1 中包含的地址不能改变

    const int* p2 = &i; // 底层 const，p2 指向的内容可以改变，但不能通过 p2 修改 p2 指向的内容
*p2 = 11;   // 合法
p2 = &j;    // 非法
    

}